For older desktop GLSL targets than version 420, the GL_ARB_shading_language_420pack extensions is used to be able to support layout(binding) on UBOs and samplers. If disabled on older targets, binding decorations will be stripped.
Emit the OpenGL ES shading language instead of desktop OpenGL.
Debug option to always emit temporary variables for all expressions.
Add precision mediump float in ES targets when emitting GLES source.
Add precision highp int in ES targets when emitting GLES source.
If true, gl_PerVertex is explicitly redeclared in vertex, geometry and tessellation shaders. The members of gl_PerVertex is determined by which built-ins are declared by the shader. This option is ignored in ES versions, as redeclaration in ES is not required, and it depends on a different extension (EXT_shader_io_blocks) which makes things a bit more fuzzy.
The shading language version. Corresponds to #version $VALUE.
GLSL: In vertex shaders, rewrite [0, w] depth (Vulkan/D3D style) to [-w, w] depth (GL style).
Inverts gl_Position.y or equivalent.
If true, the backend will assume that InstanceIndex will need to apply a base instance offset. Set to false if you know you will never use base instance functionality as it might remove some internal uniforms.
If true, Vulkan GLSL features are used instead of GL-compatible features. Mostly useful for debugging SPIR-V files.
Options for the GLSL compiler